The present invention is in the field of automated decision-making support systems. A system and an architecture for exploring very large design spaces is disclosed.
Design may be considered to start from a specification of properties and behavior that an artifact is intended to satisfy. It typically ends when the designer is able to describe a set of components and their interconnection, and a mode of use by a designer. If an instance of the artifact is constructed with the components in the specified inter-component relationships, and if a designer interacts with it as described in the mode of use, then the artifact""s properties and behavior are supposed to satisfy the given specifications.
Design may be formulated as a search in a problem space. Except in routine design tasks, the design process usually involves considering alternative configurations of components, alternative components, and various parameter values. The design candidates that arise during this process are usually evaluated using multiple criteria. Due to time and other resource limitations, designers usually consider only a narrow range of the possible combinations of components and configurations.
In prior art systems, the design problem has been formulated explicitly as a parameter optimization problem, and well-known optimization techniques may be applied. Most commonly, these techniques are variations of hill climbing. Given a design candidate, the direction of change in which the gain in a performance measure is largest is first ascertained, a new design candidate is chosen in that direction, and this process is repeated until changes in any direction result in a decrease in the performance measure. However, this optimization technique is not always applicable. When design candidates are generated by changes of components and configurations, which may be unordered, there may be no adjacency relationship to exploit in the space of design candidates. Moreover, hill climbing techniques, by requiring that a single evaluation function be defined, preclude explicit, local reasoning about tradeoffs among multiple performance criteria. In general, it is hard to use symbolic knowledge in numerical optimization schemes and thus, they are not very good for early-stage design.
The disclosed system and architecture supports exploration of very large design spaces, for example, spaces that arise when design candidates are generated by combining components systematically from component libraries. The architecture is comprised of a Design Seeker, a Filter, and a Viewer. Using the Design Seeker, a very large number of candidates (millions or more) are methodically considered and evaluated. The architecture is especially appropriate during the stage of conceptual design when high-level design decisions are tinder consideration, multiple evaluation criteria apply, and the Designer Seeker assures that good design possibilities have not been overlooked. The Filter uses a technique based on a dominance criterion to select, from millions of design candidates, a relatively small number of promising candidates for further analysis. The dominance criterion applied by the Filter is lossless in that it insures that each candidate not selected is inferior to at least one of the selected candidates. The Viewer provides an interactive interface through which the selected designs are presented to the designer for analysis of tradeoffs and further exploration. In a preferred embodiment of the present invention, the computational load is distributed among a large number of workstations in a client-server computing environment. The results of experiments using the architecture to explore designs for hybrid electric vehicles are presented.
In the present invention, a design-space exploration technique is used that explicitly considers large numbers of design candidates, sampling widely from all regions of the design space. This exploration tells the designer how the design candidates in the space behave with respect to the various evaluation criteria, and helps to identify candidates or regions with interesting properties. All regions of the design space are sampled sufficiently to develop an understanding of the characteristics of the design space. A very large number of design candidates may be considered. This initial exploration permits for a more detailed exploration of selected areas of the design space. Thus, this kind of exploration is especially appropriate for the conceptual design stage.
The need to examine a very large number of candidates requires substantial computing power. Fortunately, conceptual design is a relatively small part of the overall design process. Thus, allocation of substantial computing resources for this stage of design may be justified in view of its importance, especially as computing power is becoming more affordable. This kind of design space exploration has natural parallelism that can be exploited to distribute the computational burden. In a preferred embodiment of the present invention, a large collection of networked workstations provide the needed computing power.
The present invention includes one or more computers adapted to perform the steps of generating and evaluating design candidates, filtering design candidates to select a relatively small number of design candidates for further evaluation, and presenting selected design candidates to a designer for further consideration. The present invention also includes software conforming to the architecture of the present invention.